#include<iostream>;
using namespace std;
typedef int Elemtype;
typedef struct LNode{
	Elemtype data;
	struct LNode *next;
}LNode,*LinkList;
void Union(LinkList L1,LinkList L2,LinkList &L);
void Create(LinkList &L,int n);
void pritflist(LinkList L,int N);
int main()
{
	int N;
	cin>>N;
	LinkList L1,L2,L3;
	Create(L1,N);
	Create(L2,N);
	Union(L1,L2,L3);
	pritflist(L3,N);
	return 0;
	
}
void Create(LinkList &L,int n)
{
	int i=0,a[100001];
	L=new LNode;
	L->next=NULL;
	LinkList s=L,p;
	for(i=0;i<n;i++){
		cin>>a[i];
		p=new LNode;
		p->data=a[i];
		p->next=NULL;
		s->next=p;
		s=p;
	}
}
void Union(LinkList L1,LinkList L2,LinkList &L)
{
	L=new LNode;
	L->next=NULL; 
	LinkList p=L1->next;
	LinkList q=L2->next;
	LinkList s=L;
	LinkList r;
	while(p&&q){
		r = new LNode;
		if(p->data<q->data){
			r->data=p->data;
			s->next=r;
			s=r;
			p=p->next;
		}
		else if(p->data>q->data){
			r->data=q->data;
			s->next=r;
			s=r;
			q=q->next;
		}
		else if(p->data==q->data){
			r->data=q->data;
			s->next=r;
			s=r;
			q=q->next;
			r=new LNode;
			r->data=p->data;
			s->next=r;
			s=r;
			p=p->next;
		}
	}
	if(p==NULL&&q==NULL){
		s->next=NULL;
	}
	else if(p!=NULL){
		s->next=p;
		s = p;
		p = p->next;
	}
	else if(q!=NULL){
		s->next=q;
		s=q;
		q=q->next;
	}
}
void pritflist(LinkList L,int N)
{
	int i;
	LinkList h=L->next;
	for(i=1;i<(N*2+1)/2;i++){
		h=h->next;
	}
	cout<<h->data;
}
